﻿
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- saved from url=(0014)about:internet -->
<html xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:mssdk="winsdk" xmlns:script="urn:script" xmlns:build="urn:build" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta name="Description" content="The ChangeSymbolState callback method is called by the engine when the symbol state changes."/>
<meta name="MSHAttr" content="PreferredSiteName:MSDN"/>
<meta name="MSHAttr" content="PreferredLib:/library/windows/hardware"/>
<title>ChangeSymbolState</title>



<link rel="STYLESHEET" type="text/css" HREF="../common/backsdk4.css"/>





<style>
html,div { margin: 0; padding: 0;}

body {
	padding: 0px;
	margin: 0px;
	overflow: auto;
	height: 100%;
}

#winchm_template_button{
	float: right;
	width: 93px;
	top: 7px;
	position: relative;
	text-align: right;
	right: 5px;
	height: auto;
}

#winchm_template_top{
	padding: 0px;
	margin: 0px;
	border-bottom: 1px solid #9B9B9B;
	background-color: #B1CEFE;
}

#winchm_template_navigation{
	margin: 0px;
	padding-top: 7px;
	padding-left: 7px;
	padding-bottom: 3px;
	padding-right: 0px;
	font-size: 8.5pt;
	font-family: Arial, Helvetica, sans-serif;
	font-weight: normal;
	color: #585858;
}

#winchm_template_title{
	margin: 0px;
	padding-top: 4px;
	padding-left: 7px;
	padding-bottom: 7px;
	padding-right: 0px;
	font-size: 18px; 
	font-family: Verdana, Geneva, sans-serif;
	color: #363636;
}

#winchm_template_content{
	margin-top: 20px;
	margin-left: 15px;
	margin-bottom: 20px;
	margin-right: 15px;
	width: auto  !important;
	width: 100%;
}

#winchm_template_footer{
	border-width: 1px;
	border-color: #B1CEFE;
	border-top-style: solid;
	margin-top: 15px;
	margin-left: 15px;
	margin-bottom: 20px;
	margin-right: 15px;
	padding-top: 7px;
	padding-left: 0px;
	padding-bottom: 0px;
	padding-right: 0px;
	font-family: arial, helvetica, sans-serif;
	font-size: 8.5pt;
	color: #696969;
	width: auto;
	text-align: left;
}


#winchm_template_container{
	margin: 0px;
	padding: 0px;
	position: static;
	padding-bottom: 3px;
	overflow: auto;
	background-color: #FFFFFF;
}


@media print
{
#winchm_template_container{
	position: static;	
	margin: 0px;
	padding: 5px;
	
	width: auto;
	height: auto;
	overflow: auto;
}
#winchm_template_button{
visibility:hidden;
}
}

#winchm_template_navigation A:link	{text-decoration: none; color:#004080}
#winchm_template_navigation A:visited  {text-decoration: none; color: #004080}
#winchm_template_navigation A:active {text-decoration: none; color: #004080 }
#winchm_template_navigation A:hover {text-decoration: none;color: #0080FF}

A:link	{text-decoration: underline; color:#0033CC}
A:visited  {text-decoration: underline; color: #0033CC}
A:active {text-decoration: underline; color: #0033CC }
A:hover {text-decoration: underline;color: #FF0000;}
</style>
<script type="text/javascript">
function isMobile(){
Agent = window.navigator.userAgent;
if (Agent.indexOf("iPhone")>=1 || Agent.indexOf("iPad")>=1 || Agent.indexOf("iPod")>=1 || Agent.indexOf("Android")>=1){
return true;
}else{
return false;	
}

}
function d_onresize(){
if (window.navigator.userAgent.indexOf("MSIE")>=1){
document.getElementById('winchm_template_container').style.pixelWidth = document.body.offsetWidth - 3;
document.getElementById('winchm_template_container').style.pixelHeight = document.body.offsetHeight - document.getElementById('winchm_template_top').offsetHeight - 4;
}
document.getElementById('winchm_template_container').style.top = document.getElementById('winchm_template_top').offsetHeight + 'px';
}

function d_onbeforeprint(){
document.getElementById('winchm_template_container').style.width = 'auto';
document.getElementById('winchm_template_container').style.height = 'auto';
}

function d_onafterprint(){
d_onresize();
}

if(!isMobile()){

window.onload = d_onresize;
window.onresize = d_onresize;
window.onbeforeprint = d_onbeforeprint;
window.onafterprint = d_onafterprint;

document.write("<style>\n");
document.write("body {overflow: hidden;}\n");
document.write("#winchm_template_container {position: absolute;overflow: auto;top : 0px;right: 0px;bottom: 0px;left: 0px;}\n");
document.write("</style>\n");
}

</script>
</head>
<body><script language="JavaScript" type="text/JavaScript">
function syn(){
if(parent.nav.tree){
 if(parent.nav.tree.loaded){
  parent.nav.tree.selectNode(805);
 }else{
  setTimeout("syn()",500);
}
  }else{
  setTimeout("syn()",500);
  }}
if(parent!=self){
  setTimeout("syn()",100);
}else{
  parent.location.href = "../../index.htm?page=debugger/idebugeventcallbackswide_changesymbolstate.htm";
}
originalOnload = window.onload;
if(originalOnload==null){
window.onload = function(){parent.contentLoaded = true;};
}else{
window.onload = function(){originalOnload();parent.contentLoaded = true;};
}
</script> 


<div id="winchm_template_top">
	<div id="winchm_template_button"><A href="idebugeventcallbackswide_changeenginestate.htm" title="Previous topic"><img id="winchm_template_prev" alt="Previous topic" src="../template2/btn_prev_n.gif" border="0"></a><A href="idebugeventcallbackswide_createprocess.htm" title="Next topic"><img id="winchm_template_next" alt="Next topic" src="../template2/btn_next_n.gif" border="0"></a></div>
	<div id="winchm_template_navigation">Help &gt; 
<A href="introduction6.htm">Debugging Tools for Windows (WinDbg, KD, CDB, NTSD)</A> &gt; <A href="debugging_resources.htm">Debugging Resources</A> &gt; <A href="debugger_engine_and_extension_apis.htm">Debugger Engine and Extension APIs</A> &gt; <A href="using_the_debugger_engine_api.htm">Using the Debugger Engine API</A> &gt; <A href="debugger_engine_reference.htm">Debugger Engine Reference</A> &gt; <A href="callback_com_interfaces.htm">Callback Debug Engine Interfaces</A> &gt; <A href="idebugeventcallbackswide.htm">IDebugEventCallbacksWide</A> &gt; </div>
	<div id="winchm_template_title">ChangeSymbolState</div>
</div>
<div id="winchm_template_container">
	<div id="winchm_template_content"><div id="mainSection"><p>The <b>ChangeSymbolState</b> callback method is called by the engine when the symbol state changes. </p>
<h2>Syntax</h2>
<div class="code"><span codelanguage="ManagedCPlusPlus"><table>
<tr>
<th>C++</th>
</tr>
<tr>
<td>
<pre>HRESULT ChangeSymbolState(
  [in] ULONG   Flags,
  [in] ULONG64 Argument
);</pre>
</td>
</tr>
</table></span></div>
<h2>Parameters</h2>
<dl>
<dt><i>Flags</i> [in]</dt>
<dd>
<p>Specifies a bit-set indicating the nature of the change to the symbol state.  The following bit flags might be set.</p>
<table>
<tr>
<th>Value</th>
<th>Description </th>
</tr>
<tr>
<td>
<p>DEBUG_CSS_LOADS</p>
</td>
<td>
<p>The engine has loaded some module symbols.</p>
</td>
</tr>
<tr>
<td>
<p>DEBUG_CSS_UNLOADS</p>
</td>
<td>
<p>The engine has unloaded some module symbols.</p>
</td>
</tr>
<tr>
<td>
<p>DEBUG_CSS_SCOPE</p>
</td>
<td>
<p>The current symbol scope has changed.</p>
</td>
</tr>
<tr>
<td>
<p>DEBUG_CSS_PATHS</p>
</td>
<td>
<p>The executable image, source , or symbol search paths have changed.</p>
</td>
</tr>
<tr>
<td>
<p>DEBUG_CSS_SYMBOL_OPTIONS</p>
</td>
<td>
<p>The symbol options have changed.</p>
</td>
</tr>
<tr>
<td>
<p>DEBUG_CSS_TYPE_OPTIONS</p>
</td>
<td>
<p>The type options have changed.</p>
</td>
</tr>
</table>
<p> </p>
</dd>
<dt><i>Argument</i> [in]</dt>
<dd>
<p>Provides additional information about the change to the symbol state.   If more than one bit flag is set in the <i>Flags</i> parameter, the <i>Argument</i> parameter is not used.  Otherwise, the value of <i>Argument</i> depends on the value of <i>Flags</i>:</p>
<p></p>
<dl>
<dt><a id="DEBUG_CSS_LOADS"></a><a id="debug_css_loads"></a>DEBUG_CSS_LOADS</dt>
<dd>
<p>The value of <i>Argument</i> is the base location (in the target's memory address space) of the module image that the engine loaded symbols for.</p>
</dd>
<dt><a id="DEBUG_CSS_UNLOADS"></a><a id="debug_css_unloads"></a>DEBUG_CSS_UNLOADS</dt>
<dd>
<p>The value of <i>Argument</i> is the base location (in the target's memory address space) of the module image that the engine unloaded symbols for.  If the engine unloaded symbols for more than one image, the value of <i>Argument</i> is zero.</p>
</dd>
<dt><a id="DEBUG_CSS_SCOPE"></a><a id="debug_css_scope"></a>DEBUG_CSS_SCOPE</dt>
<dd>
<p>The value of <i>Argument</i> is zero.</p>
</dd>
<dt><a id="DEBUG_CSS_PATHS"></a><a id="debug_css_paths"></a>DEBUG_CSS_PATHS</dt>
<dd>
<p>The value of <i>Argument</i> is zero.</p>
</dd>
<dt><a id="DEBUG_CSS_SYMBOL_OPTIONS"></a><a id="debug_css_symbol_options"></a>DEBUG_CSS_SYMBOL_OPTIONS</dt>
<dd>
<p>The value of <i>Argument</i> is the symbol options.</p>
</dd>
<dt><a id="DEBUG_CSS_TYPE_OPTIONS"></a><a id="debug_css_type_options"></a>DEBUG_CSS_TYPE_OPTIONS</dt>
<dd>
<p>The value of <i>Argument</i> is zero.</p>
</dd>
</dl>
</dd>
</dl>
<h2>Return value</h2>
<p>The return value is ignored by the engine unless it indicates a remote procedure call error; in this case the client, with which this <b>IDebugEventCallbacksWide</b> object is registered, is disabled.</p>
<h2>Remarks</h2>
<p>This method is only called by the engine if the DEBUG_EVENT_CHANGE_SYMBOL_STATE flag is set in the mask returned by <a href="#Bookmark811"><b>IDebugEventCallbacksWide::GetInterestMask</b></a>.</p>
<p>For more information about handling events, see <a href="#Bookmark210">Monitoring Events</a>. </p>
<h2>Requirements</h2>
<table>
<tr>
<th width="30%">
<p>Target platform</p>
</th>
<td width="70%">
<dl>
<dt></dt>
</dl>
</td>
</tr>
<tr>
<th width="30%">
<p>Header</p>
</th>
<td width="70%">
<dl>
<dt>Dbgeng.h (include Dbgeng.h)</dt></dl></td></tr></table></div></div>	
	<div id="winchm_template_footer">Copyright &copy; 2019. All rights 
reserved. (To change the copyright info, just edit it in template.)</div>
</div>

</body>
</html>
